package com.classeven.downhill.define;

import com.classeven.downhill.engine.Anchor;
import com.classeven.downhill.game.element.GameElementFont;
import com.classeven.downhill.game.element.GameElementMusic;
import com.classeven.downhill.game.element.GameElementScene;
import com.classeven.downhill.game.element.GameElementSprite;
import com.classeven.downhill.game.element.GameElementText;


public interface iGameDefines {
	// game state
	final static int GAME_STATE_INIT 			= 0;
	final static int GAME_STATE_LOGO 			= 1;
	final static int GAME_STATE_LOADING 		= 2;
	final static int GAME_STATE_MAIN_MENU 		= 3;
	final static int GAME_STATE_SELECT_ARENA 	= 4;
	final static int GAME_STATE_GAME_PLAY		= 5;
	final static int GAME_STATE_PAUSE 			= 6;
	

	// message state
	final static int MESSAGE_STATE_INIT = 0;
	final static int MESSAGE_STATE_UPDATE = 1;
	final static int MESSAGE_STATE_EXIT = 2;

	// scene
	final static int SCENE_WHITE = 0;
	final static int SCENE_COUNT = 1;
	
	final static int MODE_SINGLE = 0;
	final static int MODE_MULTI = 1;
	final static int MODE_CAREER =2;

	final static GameElementScene SCENE_GAME[] =
	{
		
		new GameElementScene(1f, 0f, 0f, 0f),
		new GameElementScene(1f, 1f, 1f, 1f),
	};
	
	// font
	final static int FONT_1_SMALL= 0;
	final static int FONT_2_SMALL = 1;
	final static int FONT_1_BIG= 2;
	final static int FONT_2_BIG = 3;
	final static int FONT_1_TITLE = 4;
	final static int FONT_2_TITLE = 5;
	
	
	final static String FONT_STROKE = "txt/forte.ttf";

	final static GameElementFont FONT_GAME[] = {

		new GameElementFont("fnt/CALIBRI.TTF", 120, android.graphics.Color.WHITE),
		new GameElementFont("fnt/CALIBRI.TTF", 45, android.graphics.Color.WHITE),
		new GameElementFont("fnt/CALIBRI.TTF", 16, android.graphics.Color.WHITE),
		
		
	};
	
	final static int FONT_COUNT = FONT_GAME.length;
	
	//Sound
	final static String BGM= "sound/bgm/";
	final static String SFX = "sound/sfx/";
	final static String IMG = "gfx/img/game/";
	final static String IMG_OPTION = "gfx/img/menu/menu option/";
	final static String IMG_MENU = "gfx/img/menu/";
	final static String IMG_LOAD = "gfx/img/load/";
	
	
	//Time
		final static long WAIT_TIME_SHORT = 2000;
		final static long WAIT_TIME_MEDIUM = 4000;
		final static long WAIT_TIME_LONG = 8000;

	public GameElementSprite SPRITE_LAUNCH[] = 
		{
			new GameElementSprite(IMG_LOAD+ "logo_gits.png", 0, 0, 255, 145, Anchor.CENTER),
			new GameElementSprite(IMG_LOAD+ "logo.png", 0, 0, 255, 200, Anchor.CENTER),
		};
	
	public GameElementSprite SPRITE_LOAD[] = 
		{
			new GameElementSprite(IMG_LOAD +"bg_loading.png", 0, 0, 480, 800, Anchor.NONE),
			new GameElementSprite(IMG_LOAD +"bar_loading.png", 0, 0, 415, 18, Anchor.BOTTOM_CENTER),
			new GameElementSprite(IMG_LOAD +"load_rotate.png", 0, 0, 62, 54, Anchor.BOTTOM_RIGHT),
		};
	
	public static final int MENU_BG			 	= 0;
	public static final int MENU_BTN_PLAY		= 1;
	public static final int MENU_BTN_OPTION 	= 2;
	public static final int MENU_BTN_ABOUT 		= 3;
	
	
	public GameElementSprite SPRITE_MENU[] = 
		{
			new GameElementSprite(IMG_MENU+"bg_menu.png", 0, 0, 480, 800, Anchor.NONE),
			new GameElementSprite(IMG_MENU+"btn_play.png", 0, 0, 200, 100, Anchor.BOTTOM_LEFT),
			new GameElementSprite(IMG_MENU+"btn_custom.png", 0, 0, 200, 83, Anchor.BOTTOM_LEFT),
			new GameElementSprite(IMG_MENU+"btn_about.png", 0, 0, 200, 83, Anchor.CENTER),
		};
	
	
	public GameElementSprite SPRITE_ARENA[] = 
		{
			new GameElementSprite(IMG_OPTION + "arena.png", 0, 0, 480, 800, Anchor.NONE),
			new GameElementSprite(IMG_OPTION +"arena1.png", 0, 0, 380, 480, Anchor.CENTER),
			new GameElementSprite(IMG_OPTION +"arena2.png", 0, 0, 380, 480, Anchor.CENTER),
			new GameElementSprite(IMG_OPTION +"btn_back.png", 0, 0, 87, 87, Anchor.BOTTOM_LEFT),
		};
	
	
	public static final int GAME_LIVE		 = 2;
	public static final int GAME_BG_SCORE = 3;
	public static final int GAME_BTN_PAUSE= 4;
	
	public GameElementSprite SPRITE_GAME[] = 
		{
			new GameElementSprite(IMG +"bg.png", 0, 0, 480, 800, Anchor.NONE),
			new GameElementSprite(IMG +"mc.png", 0, 0, 50, 100, Anchor.CENTER),
			new GameElementSprite(IMG +"live.png", 0, 0, 40, 40, Anchor.TOP_LEFT),
			new GameElementSprite(IMG +"bg_score.png", 0, 0, 480, 50, Anchor.TOP_CENTER),
			new GameElementSprite(IMG +"btn_pause.png", 0, 0, 50, 50, Anchor.TOP_RIGHT),
	
		};
	
	public static final int PAUSE_BG = 0;
	public static final int PAUSE_EFFECT = 4;
	
	public GameElementSprite SPRITE_PAUSE[] = 
		{
			new GameElementSprite(IMG +"bg_pause.png", 0, 0, 350, 500, Anchor.CENTER),
			new GameElementSprite(IMG +"btn_pause_menu.png", 0, 0, 80, 80, Anchor.NONE),
			new GameElementSprite(IMG +"btn_pause_restart.png", 0, 0, 80, 80, Anchor.NONE),
			new GameElementSprite(IMG +"btn_pause_play.png", 0, 0, 80, 80, Anchor.NONE),
			new GameElementSprite(IMG +"pause_effect.png", 0, 0, 600, 600, Anchor.CENTER),
			
		};
	
	public GameElementText[] TEXT_COUNT_DOWN= 
		{
			new GameElementText("1", 1, 0, 0, Anchor.CENTER),
			new GameElementText("GO", 1, 0, 0, Anchor.CENTER),
			
		};
	
	public GameElementText[] TEXT_GAME = 
		{
			new GameElementText("00.00      ", 1, 0, 0, Anchor.TOP_CENTER),
			new GameElementText("3  ", 1, 100, 10, Anchor.NONE),
			new GameElementText("        ", 1, 150, 10, Anchor.NONE),
			new GameElementText("        ", 1, 190, 10, Anchor.NONE),
		};
	
	public static int OBS_TREE = 0;
	public static int OBS_STONE = 1;
	public static int OBS_ANIMAL = 2;
	
	public GameElementSprite SPRITE_OBS [] = 
		{
			new GameElementSprite(IMG +"tree.png", 0, 0, 90, 250, Anchor.NONE),
			new GameElementSprite(IMG +"stone.png", 0, 0, 64, 64, Anchor.NONE),
//			new GameElementSprite(IMG +"obs.png", 0, 0, 70, 30, Anchor.NONE),
		};
	
	
	
	
	
	
	
	//MUSIK 
	
	public GameElementMusic BGM_GAME[] = 
		{
			new GameElementMusic(BGM+ "DownAdr_Main_menu_compressor2.ogg", true),
			new GameElementMusic(SFX + "", true),
			new GameElementMusic(SFX + "", true),
		};
}
